package cn.huoyingkeji.common.domain;

import java.io.Serializable;
import java.time.LocalDateTime;

import org.springframework.format.annotation.DateTimeFormat;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

/**
 * 数据传输封装
 */
@Getter
@Setter
public class DTO implements Serializable {


    /** ID */
    @Schema(description = "ID")
    @JsonSerialize(
            using = ToStringSerializer.class
    )
    private Long id;

    /** 搜索值 */
    @Schema(description = "响应码")
    private String searchValue;

    /** 创建者 */
    @Schema(description = "创建者")
    private Long createBy;

    /** 创建者姓名 */
    @Schema(description = "创建者姓名")
    public String createrName;


    /** 创建时间 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "创建时间")
    private LocalDateTime createTime;

    /** 更新者 */
    @Schema(description = "更新者")
    private Long updateBy;


    /** 更新者姓名 */
    @Schema(description = "更新者姓名")
    public String updateName;
    /** 更新时间 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "更新时间")
    private LocalDateTime updateTime;

    /** 业务状态 */
    @Schema(description = "业务状态")
    private Integer status;

    /** 开始时间 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "开始时间")
    private LocalDateTime startTime;


    
    /** 结束时间 */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Schema(description = "结束时间")
    private LocalDateTime endTime;


    @Schema(description = "获取day内的数据")
    private Integer day;


    /** 租户ID*/
    @Schema(description = "租户ID")
    private String tenantId;
}
